// Cursor.h provides the attributes of the Cursor class
//-----------------

#if !defined( CursorH)
#define CursorH

//-----------------
// Includes various libraries and files
#include <cassert>		// for asserts
#include <d3dx9.h>		// Direct 3D library (for all Direct 3D functions)

#include "constants.h"
#include "Mesh.h"
//-----------------

class Cursor {
	public:
		// constructors and destructor
		Cursor();
		~Cursor();

		// accessors
		bool visible() const;
		bool active() const;
		int get_x() const;
		int get_y() const;
		void render( const float& z, const float& sz, const float& w, const float& h) const;

		// mutators
		HRESULT setup_geometry( LPDIRECT3DDEVICE9& device);
		void set_position( const float& x, const float& y);
		void set_visible( bool v);
		void set_active( bool a);

	private:
		LPDIRECT3DDEVICE9 device_;
		Mesh cursor_active_;
		Mesh cursor_inactive_;

		bool visible_, active_;
		float x_, y_;
};

#endif